Update the Nerdio Manager Application

Nerdio releases regular updates for Nerdio Manager, but Nerdio Manager does not automatically update itself. Instead, it gives version control to the administrators. There are several methods that can be used to update Nerdio Manager to the latest version. Due to possible restrictions in some environments, alternative methods may be required.

Nerdio Manager Updates FAQs

Will updating Nerdio Manager interrupt currently active sessions or kick off users?

No. The update process only affects the Nerdio Manager App Service. User sessions are handled by the AVD service, which is managed and hosted separately by Microsoft. The only interruptions that occur affect the Nerdio management console. In addition, the auto-scale automation is unable to perform actions during the update process. Auto-scale automation safely continues automatically after the update process is completed.

How long does the update process take?

Using the Automation Account, the process generally takes ~3-7 minutes, as all actions are performed in Azure. When done manually, using the standalone installer through PowerShell, this time is affected by local variables such as the internet connection and client machine's hardware. The data files are roughly 120-160MB in size.

It may take several minutes for Nerdio Manager to complete processing background updates and the portal to be available again after the update has been successfully applied.

Can I skip over versions when updating?

Yes. All updates are cumulative, and it is recommended that you skip intermediate versions and go directly to the latest Generally Available release. For example, you can update directly from 2.2.0 to 2.10.1.

Can I rollback to a previous version?

Starting with version 6.3, you can rollback to a previous version, but you can only rollback to 6.2 or later. For example, 6.4 can be rolled back to 6.3 or 6.2, but not earlier. See Rollback to a Previous Version for details.

Method 1: Deploy Button

The simplest method for updating Nerdio Manager is to use the Deploy button.

Note: This process must be completed by a user with Contributor or Automation Operator rights to the Azure Automation account deployed by Nerdio Manager.

To update using the Deploy button:

  1. In Nerdio Manager, navigate to Updates.

  2. Locate the latest version and select Deploy.

  3. Monitor the Azure automation job, under the Output tab, and watch until the Status is reported as Completed.

Method 2: Use Azure Cloud Shell (v2.10+)

You may use Azure Cloud Shell to update Nerdio Manager.

Note: This process must be completed by a user with the Contributor rights to the Nerdio Manager App Service.

To update using Azure Cloud Shell:

  1. In Nerdio Manager, navigate to Updates.

  2. Locate the latest version and from the action menu select Azure Cloud Shell.

  3. Select the copy script icon to copy the script to the clipboard.

  4. Select Launch Azure Cloud Shell.

  5. In Azure Cloud Shell, paste the script and press Enter.

  6. When the script run is completed, refresh the Updates page.

Method 3: Standalone PowerShell Update

You may use PowerShell to update Nerdio Manager.

Note: This process must be completed by a user with the Contributor rights to Nerdio Manager’s deployment resource group.

To update using PowerShell:

  1. In Nerdio Manager, navigate to Updates.

  2. Locate the latest version and from the action menu, select Download Installer.

    The installer is downloaded as a .zip file to your browser's default download folder.

  3. Right-click the downloaded .zip file and select Properties.

  4. At the bottom of the General tab, select Unblock and then select OK.

  5. Extract the .zip file to a location on the C: drive.

  6. Open PowerShell.

  7. Change the directory to the folder with the extracted installer.

  8. Run DeployUpdate.ps1 and follow the instructions.

  9. When the installation is completed, refresh the Updates page.

Method 4: Manual "Zip Push" Deployment

You may use the "Zip Push" method in the Azure portal to update Nerdio Manager.

Prior to redeploying the new package, you need to clear the existing application from the App Service. You can do this using the Kudu service portal or the Advanced Tools Console.

Note: This process must be completed by a user with the Contributor rights to the Nerdio Manager App Service.

To update Nerdio Manager using the "Zip Push" method:

  1. In Nerdio Manager, navigate to Updates.

  2. Locate the latest version, and then from the action menu, select Download Installer.

    The installer is downloaded as a .zip file to your browser's default download folder. Ensure you save this package to a safe location.

  3. Expand the package file and retrieve the file named site.zip or app.zip. Only one file is included.

    Warning: Do not unzip or expand the site.zip or app.zip file.

  4. In the Azure portal, navigate to App Services > Nerdio Manager App Service.

    Note: The Nerdio Manager App Service name is typically prefixed with nmw-app. Make sure you don't confuse it with the App Service named nmw-ccl-app, which is used for Cost Attribution.

  5. In the left menu, navigate to Development Tools > Advanced Tools, and then select Go to launch the Kudu console.

  6. Clear the existing application from the App Service:

    1. In the top toolbar, select Debug Console > PowerShell.

    2. Change location to the site\wwwroot directory. Use one of the following paths:

      • cd C:\home\site\wwwroot

      • Set-Location C:\home\site\wwwroot

    3. Run one of the following commands to clear all files from the directory:

      • del *.*

      • Remove-Item *.*

        Note: The folders can remain in the directory.

  7. Redeploy the app package:

    1. In the Kudu console toolbar, go to ToolsZip Push Deploy.

    2. In the file explorer dialog box, drag the site.zip or app.zip file that you retrieved from the package file you previously downloaded.

      Warning:

      • Make sure you drag only the site.zip or app.zip file, rather than the package.standalone*.zip, which prevents Nerdio Manager from running successfully.

      • Ensure the file's extension is .zip.

      The lower section of the page updates to reflect the package uploading and deploying. Wait until the final task displays Deployment successful.

  8. Run the provision WebJob:

    1. In the Azure portal, navigate to App Service > Settings > WebJobs.

    2. Select the provision job and make sure that its status is Running. If it's Stopped, in the Run column, select the play button, and then select Start.

    Note: If the WebJob named provision is missing, the wrong zip file was uploaded to Nerdio Manager's App Service. Verify and re-upload the site.zip file only (do not upload the full package.standalone*.zip file).

  9. Return to the Nerdio Manager app and refresh your browser to confirm the app is online and accessible.

Method 5: Manual Azure Cloud Shell Deployment

You can use Azure Cloud Shell to update Nerdio Manager.

Note: This process must be completed by a user with the Contributor rights to Nerdio Manager App Service.

To update Nerdio Manager using Azure Cloud Shell:

  1. Open Azure Cloud Shell.

  2. Customize and run the script below.

  3. When the script finishes running, return to the Nerdio Manager app and refresh the browser page to confirm the app is online and accessible.

$sourceUri = "Obtain URL from Nerdio support (nme.support@getnerdio.com)"

$subscriptionId = "Your Subscription ID containing the NMW app service"

$resourceGroupName = "Resource Group name that contains NMW app service"

$webAppName = "WebApp Name (e.g. nmw-app-xxxxxxxxxxxx, not including azurewebsites.net)"

$version = "App version to update to (e.g. 6.4.1)"

$webjobName = "Provision"

Set-PSDebug -Strict

$ErrorActionPreference = "stop"

Write-Output "Downloading package"

$folderName = (New-Guid).ToString()

$packageZipPath = Join-Path -Path $Home -ChildPath ($folderName + ".zip")

$packageDestPath = Join-Path -Path $Home -ChildPath ($folderName)

$packageDestVersionPath = Join-Path -Path $packageDestPath -ChildPath "version.txt"

$packageDestAppPath = Join-Path -Path $packageDestPath -ChildPath "app.zip"

Write-Output "Destination: $packageZipPath"

Invoke-WebRequest -Uri $sourceUri -OutFile $packageZipPath

Expand-Archive -Path $packageZipPath -DestinationPath $packageDestPath

az account set -s $subscriptionId

az configure --defaults group=$resourceGroupName web=$webAppName

Write-Output "Stop web job"

az webapp webjob continuous stop --webjob-name $webjobName

Start-Sleep -Seconds 10

Write-Output "Stop web app"

az webapp stop

Start-Sleep -Seconds 10

Write-Output "Deploy package"

az webapp deploy --src-path $packageDestAppPath --clean

Start-Sleep -Seconds 10

Write-Output "Start web app"

az webapp start

Start-Sleep -Seconds 10

Write-Output "Start web job"

az webapp webjob continuous start --webjob-name $webjobName

Start-Sleep -Seconds 10

Write-Output "Remove temp files"

Remove-Item -Path $packageZipPath

Remove-Item -Path $packageDestPath -Recurse

Write-Output "Version $version completed successfully. Return to https://$webAppName.azurewebsites.net and refresh the browser page."

Rollback to a Previous Version

Starting with version 6.3, you can rollback to a previous version, but you can only rollback to 6.2 or later. For example, 6.4 can be rolled back to 6.3 or 6.2, but not earlier.

To rollback to a previous version:

  1. In Nerdio Manager, navigate to Updates.

  2. Locate the version you wish to rollback to and select Deploy.

  3. Monitor the Azure automation job, under the Output tab, and watch until the Status is reported as Completed.